package proto

import (
	"fmt"
	"regexp"
	D "websocket_apn/define"
	"websocket_apn/log"
)

// 获取灵脉对应索引
func GetTalentPartIdx(data []byte) int {
	idx := -1
	if len(data) == 0 {
		return idx
	}
	if data[1] == 0x4E && data[0] >= 0x91 && data[0] < 0x9B { //93中 94 上品
		idx = 0 //乾
	} else if data[1] == 0x4E && data[0] >= 0x9B && data[0] < 0xA5 { //9D 中
		idx = 1 //兑
	} else if data[1] == 0x4E && data[0] >= 0xA5 && data[0] < 0xAF { //A8 上
		idx = 2 //少阴
	} else if data[1] == 0x4E && data[0] >= 0xAF && data[0] < 0xB9 { //B2 上
		idx = 3 //离
	} else if data[1] == 0x4E && data[0] >= 0xB9 && data[0] < 0xC3 { //BB 中
		idx = 4 //太阴
	} else if data[1] == 0x4E && data[0] >= 0xC3 && data[0] < 0xCD { //C5 中
		idx = 5 //震
	} else if data[1] == 0x4E && data[0] >= 0xCD && data[0] < 0xD7 { //D0 上
		idx = 6 //坤
	} else if data[1] == 0x4E && data[0] >= 0xD7 && data[0] < 0xE1 { //D9 中
		idx = 7 //艮
	} else if data[1] == 0x4E && data[0] >= 0xE1 && data[0] < 0xEB { //E3 中
		idx = 8 //少阳
	} else if data[1] == 0x4E && data[0] >= 0xEB && data[0] < 0xF5 { //ED 中
		idx = 9 //坎
	} else if data[1] == 0x4E && data[0] >= 0xF5 && data[0] < 0xFF { //F8 上
		idx = 10 //太阳
	} else if data[1] == 0x4F && data[0] >= 0x7F && data[0] < 0x91 { //81 中
		idx = 11 //巽
	}
	return idx
}

// 获取灵脉部位名称
func GetTalentPartName(data []byte) string {
	idx := GetTalentPartIdx(data)
	if idx < 0 {
		return "未知"
	}
	return D.TalentPartName[idx]
}

// 获取神兽灵脉类型
func GetMythicalTalentName(idx int) string {
	if idx <= 0 {
		return "普通"
	}
	return D.MythicalTalentList[idx]
}

// 获取灵脉所有信息描述
func GetTalentInfoDesc(info D.TalentInfo) string {
	str := fmt.Sprintf("%s %d级 %s(%s) %s(%02x) %d 妖力%s", GetMythicalTalentName(info.Val), info.Level,
		GetTalentPartName(info.Part), BytesToHexStr(info.Part), D.EquipmentGrade[info.Grade], info.Grade, info.Val, D.GetCombatValueDesc(info.CombatValue))

	for idx := 0; idx < 20; idx++ {
		if _, ok := info.Data2A[idx]; ok {
			data := info.Data2A[idx]
			str += GetEquipmentAttrDesc(idx, data.Litter)
		}
	}
	return str
}

/*
玄武
71 AB 00 00 01 15 00 00 02 71 00 00 02 D4 07 01 81 E2 08 00 12 FE 01 0A 26 08 09 10 E5 4E 18 16 20 05 2A 04 08 10 10 222A 04 08 0E 10 24 2A 05 08 03 10 8C 04 2A 04 08 0D 10 24 30 D1 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 F8 E0 90 01 12 05 08 20 10 A9 01 12 04 08 1A 10 26 12 05 08 0F 10 AA 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED06 12 05 08 0E 10 E2 0B 12 04 08 1C 10 59 12 05 08 0B 10 D6 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F 10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 CB 0B 12 05 08 16 10 94 02 12 07 08 02 10 F1 C3 D1 37 12 04 08 15 10 7F 12 05 08 10 10 EF 0A 12 05 08 04 10 D9 4A 12 05 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 88 C5 C0 79
勾陈
71 AB 00 00 01 0F 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 F8 01 0A 20 08 05 10 BD 4E 18 14 20 05 2A 04 08 0C 10 22 2A 05 08 02 10 F4 5B 2A 04 08 0D 10 22 30 D4 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 B2 DC 90 01 12 05 08 20 10 A9 01 12 04 08 1A 10 2612 05 08 0F 10 AA 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED 06 12 05 08 0E 10 9F 0B 12 04 08 1C 10 59 12 05 08 0B 10 82 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F 10 79 12 04 08 1810 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 D7 10 12 05 08 09 10 C8 07 12 05 08 0D 10 FA 0B 12 05 08 16 10 94 02 12 07 08 02 10 B9 C4 CF 37 12 04 08 15 10 7F 12 05 08 10 10 CD 0A 12 05 08 04 10 84 47 12 05 08 25 10 92 0412 04 08 17 10 45 12 05 08 24 10 F5 01 18 B6 AB 80 79
青龙
71 AB 00 00 01 16 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 FF 01 0A 27 08 05 10 BD 4E 18 15 20 05 2A 04 08 10 10 24 2A 04 08 0B 10 23 2A 04 08 0F 10 25 2A 06 08 02 10 A0 8D 01 30 D5 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 B2 DC 90 01 12 05 08 20 10 A901 12 04 08 1A 10 26 12 05 08 0F 10 CF 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED 06 12 05 08 0E 10 9F 0B 12 04 08 1C 10 59 12 05 08 0B 10 A5 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 081F 10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 D8 0B 12 05 08 16 10 94 02 12 07 08 02 10 AF CA D0 37 12 04 08 15 10 7F 12 05 08 10 10 F1 0A 12 05 08 04 10 84 4712 05 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 F9 E6 98 79
朱雀
71 AB 00 00 01 17 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 80 02 0A 28 08 03 10 A8 4E 18 16 20 04 2A 05 08 04 10 D2 02 2A 04 08 0B 10 18 2A 04 08 0F 10 18 2A 06 08 02 10 84 9F 01 30 D6 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 B2 DC 90 01 12 05 08 20 10A9 01 12 04 08 1A 10 26 12 05 08 0F 10 C2 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED 06 12 05 08 0E 10 B5 0B 12 04 08 1C 10 59 12 05 08 0B 10 EE 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 0408 1F 10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 9A 0B 12 05 08 16 10 94 02 12 07 08 02 10 E7 A4 D3 37 12 04 08 15 10 7F 12 05 08 10 10 CD 0A 12 05 08 04 10 F04D 12 05 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 87 AA 91 79
腾蛇
71 AB 00 00 01 17 00 00 02 71 00 00 02 D4 07 01 81 E2 08 00 12 80 02 0A 28 08 05 10 BD 4E 18 15 20 05 2A 05 08 04 10 BB02 2A 04 08 0B 10 22 2A 06 08 02 10 9C 84 01 2A 04 08 0E 10 23 30 D3 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 B2 DC 90 01 12 05 08 20 10 A9 01 12 04 08 1A 10 26 12 05 08 0F 10 AA 0B 12 04 08 19 10 4A 12 07 08 01 10 E693 ED 06 12 05 08 0E 10 C2 0B 12 04 08 1C 10 59 12 05 08 0B 10 A4 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F 10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 080C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 D8 0B 12 05 08 16 10 94 02 12 07 08 02 10 EE B1 D0 37 12 04 08 15 10 7F 12 05 08 10 10 CD 0A 12 05 08 04 10 80 4A 12 05 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 FB D8 81 79
4级 中品 太阳灵髓 青龙灵脉 妖力+342
71 AB 00 00 00 C1 00 00 02 71 00 00 02D4 08 94 30 6F 08 00 12 AA 01 0A 13 08 0B 10 F7 4E 18 04 20 03 2A 04 08 03 10 23 30 D5 86 03 12 04 08 15 10 04 12 05 08 04 10 EF 13 12 04 08 17 10 3C 12 05 08 05 10 D9 01 12 05 08 0D 10 D8 02 12 05 08 0F 10 A5 03 12 05 08 07 10 E6 01 12 0508 0A 10 A3 01 12 06 08 01 10 B9 F3 02 12 05 08 09 10 FD 03 12 05 08 03 10 F2 3D 12 05 08 06 10 DA 03 12 06 08 02 10 9B CB 15 12 04 08 1A 10 0B 12 04 08 19 10 5F 12 05 08 0E 10 B4 05 12 05 08 0B 10 D4 02 12 05 08 08 10 B2 03 12 04 08 1B 100B 12 05 08 10 10 D1 02 12 05 08 0C 10 D9 03 18 97 CE FB 01
22级 极品 少阳灵髓 玄武 妖力106488 EquipmentGrade 防御518 抗击晕 34 抗闪避37 抗吸血37

	部位		等级  品级

71 AB 00 00 01 15 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 FE 01 0A 26 08 09 10 E5 4E 18 16 20 05 2A 04 08 10 10 25 2A 04 08 0B 10 22 2A 04 08 0E 10 25 2A 05 08 03 10 86 04 30 D1 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 EB E0 90 01 12 05 08 20 10 A9 0112 04 08 1A 10 26 12 05 08 0F 10 AA 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED 06 12 05 08 0E 10 E3 0B 12 04 08 1C 10 59 12 05 08 0B 10 F8 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 A7 0B 12 05 08 16 10 94 02 12 07 08 02 10 F1 C3 D1 37 12 04 08 15 10 7F 12 05 08 10 10 F2 0A 12 05 08 04 10 D9 4A 1205 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 F2 DC C1 79
08 00 12 FE 01 0A 26 08 09 10 E5 4E 18 16 20 05 2A 04 08 10 10 25 2A 04 08 0B 10 22 2A 04 08 0E 10 25 2A 05 08 03 10 86 04 30 D1 86 03 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 EB E0 90 01 12 05 08 20 10 A9 0112 04 08 1A 10 26 12 05 08 0F 10 AA 0B 12 04 08 19 10 4A 12 07 08 01 10 E6 93 ED 06 12 05 08 0E 10 E3 0B 12 04 08 1C 10 59 12 05 08 0B 10 F8 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F10 79 12 04 08 18 10 39 12 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 A7 0B 12 05 08 16 10 94 02 12 07 08 02 10 F1 C3 D1 37 12 04 08 15 10 7F 12 05 08 10 10 F2 0A 12 05 08 04 10 D9 4A 1205 08 25 10 92 04 12 04 08 17 10 45 12 05 08 24 10 F5 01 18 F2 DC C1 79
20级 上品 乾 妖力-913776 攻击1703 抗击晕 24 抗吸血24
71 AB 00 00 01 0D 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 F6 01 0A 1E 08 01 10 94 4E 18 14 20 04 2A 04 08 10 10 18 2A 05 08 01 10 A7 0D 2A 04 08 0B 10 18 30 00 12 05 08 1B 10 EB 01 12 05 08 07 10 E6 10 12 07 08 03 10 B2 DC 90 01 12 05 08 20 10 A9 01 12 04 08 1A 10 26 12 0508 0F 10 E5 0A 12 04 08 19 10 4A 12 07 08 01 10 EB 8F ED 06 12 05 08 0E 10 A7 0B 12 04 08 1C 10 59 12 05 08 0B 10 EE 0D 12 05 08 05 10 87 06 12 05 08 08 10 E9 06 12 05 08 26 10 D2 01 12 05 08 06 10 AC 11 12 04 08 1F 10 79 12 04 08 18 10 3912 05 08 0A 10 C8 06 12 05 08 23 10 BE 01 12 05 08 0C 10 B5 10 12 05 08 09 10 C8 07 12 05 08 0D 10 D8 0B 12 05 08 16 10 94 02 12 07 08 02 10 F1 C3 D1 37 12 04 08 15 10 7F 12 05 08 10 10 E5 0A 12 05 08 04 10 D9 4A 12 05 08 25 10 92 04 12 0408 17 10 45 12 05 08 24 10 F5 01 18 8A BA 83 79

08 00 12 80 02 0A 28 08 03 10 A9 4E 18 18 20 05 2A 04 08 10 10 24 2A 05 08 04 10 9F 04 2A 04 08 0B 10 24 2A 06 08 02 10 CC E3 01 30 D1 86 03 12 05 08 1B 10 E4 02 12 05 08 07 10 8D 0B 12 07 08 03 10 8B B9 84 06 12 05 08 20 10A9 01 12 04 08 1A 10 47 12 05 08 0F 10 E1 0E 12 05 08 19 10 C8 01 12 07 08 01 10 8C B8 B8 27 12 05 08 0E 10 95 11 12 05 08 1C 10 A7 01 12 05 08 0B 10 E0 0D 12 05 08 05 10 F4 08 12 05 08 08 10 F4 1A 12 05 08 26 10 EC 07 12 05 08 06 10 E9 0B12 04 08 18 10 5B 12 05 08 0A 10 F3 09 12 05 08 23 10 84 07 12 05 08 0C 10 89 0F 12 05 08 09 10 DC 0A 12 05 08 0D 10 E2 12 12 05 08 16 10 A5 03 12 08 08 02 10 8E C1 CC C7 02 12 05 08 15 10 F3 01 12 05 08 10 10 8E 0E 12 05 08 04 10 8F 67 1205 08 25 10 8D 09 12 05 08 17 10 80 02 12 05 08 24 10 8B 07 18 DC D9 C3 81 03

玄武 灵脉 41级 少阴(A94E) 极品(05) 50001 生命:1420637 抗击晕:3.5% 抗闪避:3.5% 抗反击:3.5%
71 AB 00 00 01 55 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 BE 02 0A 27 08 03 10 A9 4E 18 29 20 05 2A 04 08 0F 10 23 2A 04 08 0E 10 23 2A 04 08 0B 10 23 2A 06 08 02 10 DD DA 56 30 D1 86 03 12 06 08 04 10 87 99 03 12 05 08 0B 10 C6 17 12 05 08 20 10 A9 01 12 05 08 24 10 E1 1412 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 B1 16 12 05 08 1B 10 94 11 12 05 08 09 10 CE 2B 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 F0 15 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 97 17 12 05 081C 10 F1 03 12 05 08 0C 10 DE 17 12 08 08 01 10 F8 F2 99 B1 06 12 05 08 08 10 EF 10 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 AA 0E 12 05 08 0E 10 DF 16 12 05 08 17 10 E3 04 12 05 08 0A 10 BA 0F 12 04 08 2B 10 66 12 05 08 19 10C2 08 12 05 08 06 10 C3 12 12 04 08 1F 10 64 12 05 08 18 10 F3 01 12 05 08 2D 10 BE 02 12 05 08 0F 10 81 19 12 05 08 15 10 B0 03 12 05 08 31 10 A0 01 12 07 08 03 10 B0 9B E7 64 12 04 08 29 10 11 12 05 08 16 10 C4 05 12 08 08 02 10 A3A8 B4 FE 31 18 F4 C8 A7 87 18
白虎 灵脉 40级 太阴(BD4E) 极品(05) 50002 妖力65.14亿 生命:864765 敏捷:16106 抗暴击:3.6% 抗吸血:3.4%
71 AB 00 00 01 57 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 C0 02 0A 28 08 05 10 BD 4E 18 28 20 05 2A 04 08 10 10 22 2A 05 08 04 10 EA 7D 2A 06 08 02 10 FD E3 34 2A 04 08 0C 10 24 30 D2 86 03 12 06 08 04 10 81 E9 02 12 05 08 0B 10 BA 16 12 05 08 20 10 A9 01 12 05 08 24 10 E114 12 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 F9 21 12 05 08 1B 10 A2 0F 12 05 08 09 10 93 11 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 F8 17 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 D2 17 12 0508 1C 10 C9 03 12 05 08 0C 10 FB 1B 12 08 08 01 10 B5 CE C3 C4 06 12 05 08 08 10 D9 0F 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 9B 0D 12 05 08 0E 10 C2 17 12 05 08 17 10 A0 06 12 05 08 0A 10 D1 0E 12 04 08 2B 10 66 12 05 08 1910 C2 08 12 05 08 06 10 CD 1F 12 05 08 1F 10 D6 02 12 05 08 18 10 F3 01 12 05 08 2D 10 BE 02 12 05 08 0F 10 D7 19 12 05 08 15 10 FC 03 12 05 08 31 10 A0 01 12 07 08 03 10 BE D5 A0 66 12 04 08 29 10 11 12 05 08 16 10 B3 05 12 08 08 0210 EF A0 8F EA 31 18 A0 FD B1 A2 18
腾蛇 灵脉 40级 少阴(A94E) 极品(05) 50003 妖力65.21亿 生命:835696 敏捷:15196 抗连击:3.4% 抗闪避:3.5%
71 AB 00 00 01 57 00 00 02 71 00 00 02 D4 07 01 81 E2 08 00 12 C0 02 0A 28 08 03 10 A9 4E 18 28 20 05 2A 05 08 04 10 DC76 2A 04 08 0E 10 23 2A 06 08 02 10 F0 80 33 2A 04 08 0D 10 22 30 D3 86 03 12 06 08 04 10 9B DE 02 12 05 08 0B 10 8C 16 12 05 08 20 10 A9 01 12 05 08 24 10 E1 14 12 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 F9 21 12 05 08 1B 10A2 0F 12 05 08 09 10 93 11 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 A7 17 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 8C 18 12 05 08 1C 10 C9 03 12 05 08 0C 10 9D 1C 12 08 08 01 10 B5 CE C3 C4 06 12 05 08 08 10D9 0F 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 9B 0D 12 05 08 0E 10 A9 18 12 05 08 17 10 A0 06 12 05 08 0A 10 D1 0E 12 04 08 2B 10 66 12 05 08 19 10 C2 08 12 05 08 06 10 CD 1F 12 05 08 1F 10 D6 02 12 05 08 18 10 F3 01 12 05 082D 10 BE 02 12 05 08 0F 10 D7 19 12 05 08 15 10 FC 03 12 05 08 31 10 A0 01 12 07 08 03 10 BE D5 A0 66 12 04 08 29 10 11 12 05 08 16 10 B3 05 12 08 08 02 10 CF EA BC EA 31 18 A4 F5 E1 A5 18
勾陈 灵脉 40级 少阴(A94E) 极品(05) 50004 生命:888758 敏捷:15544 抗击晕:3.5% 抗反击:3.7%
71 AB 00 00 01 56 00 00 02 71 00 00 02D4 07 01 81 E2 08 00 12 BF 02 0A 28 08 03 10 A9 4E 18 28 20 05 2A 04 08 0F 10 25 2A 05 08 04 10 B8 79 2A 04 08 0B 10 23 2A 06 08 02 10 B6 9F 36 30 D4 86 03 12 06 08 04 10 C3 D1 04 12 05 08 0B 10 C6 17 12 05 08 20 10 A9 01 12 05 08 24 10 E114 12 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 B1 16 12 05 08 1B 10 94 11 12 05 08 09 10 CE 2B 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 F0 15 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 97 17 12 0508 1C 10 F1 03 12 05 08 0C 10 DE 17 12 08 08 01 10 F8 F2 99 B1 06 12 05 08 08 10 EF 10 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 AA 0E 12 05 08 0E 10 BC 16 12 05 08 17 10 E3 04 12 05 08 0A 10 BA 0F 12 04 08 2B 10 66 12 05 08 1910 C2 08 12 05 08 06 10 C3 12 12 04 08 1F 10 64 12 05 08 18 10 F3 01 12 05 08 2D 10 BE 02 12 05 08 0F 10 83 19 12 05 08 15 10 B0 03 12 05 08 31 10 A0 01 12 07 08 03 10 B0 9B E7 64 12 04 08 29 10 11 12 05 08 16 10 C4 05 12 08 08 02 10F0 9B E8 FC 31 18 A2 F6 C6 85 18
青龙 灵脉 40级 少阳(E54E) 极品(05) 50005 妖力65.17亿 防御:22292 抗击晕:3.5% 抗暴击:3.4% 抗连击:3.6%
71 AB 00 00 01 56 00 00 02 71 00 00 02 D4 07 01 81 E2 08 00 12 BF 02 0A 27 08 09 10 E5 4E 18 28 20 05 2A 06 08 03 10 94AE 01 2A 04 08 0B 10 23 2A 04 08 0C 10 22 2A 04 08 0D 10 24 30 D5 86 03 12 06 08 04 10 F0 A9 01 12 05 08 0B 10 97 16 12 05 08 20 10 A9 01 12 05 08 24 10 E1 14 12 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 F9 21 12 05 08 1B 10 A20F 12 05 08 09 10 93 11 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 D6 17 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 BF 18 12 05 08 1C 10 C9 03 12 05 08 0C 10 F5 1B 12 08 08 01 10 B5 CE C3 C4 06 12 05 08 08 10 D90F 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 9B 0D 12 05 08 0E 10 BE 17 12 05 08 17 10 A0 06 12 05 08 0A 10 D1 0E 12 04 08 2B 10 66 12 05 08 19 10 C2 08 12 05 08 06 10 CD 1F 12 05 08 1F 10 D6 02 12 05 08 18 10 F3 01 12 05 08 2D10 BE 02 12 05 08 0F 10 D7 19 12 05 08 15 10 FC 03 12 05 08 31 10 A0 01 12 07 08 03 10 F9 89 A5 66 12 04 08 29 10 11 12 05 08 16 10 B3 05 12 08 08 02 10 8D D1 E3 EA 31 18 81 FC 81 A4 18
朱雀 灵脉 41级 太阴(BD4E) 极品(05) 50006 妖力65.14亿 生命:1359156 敏捷:23392 抗暴击:3.6% 抗吸血:3.4%
71 AB 00 00 01 58 00 00 02 71 00 00 02 D4 07 01 81 E2 08 00 12 C1 02 0A 29 08 05 10 BD 4E 18 29 20 05 2A 04 08 10 10 222A 06 08 04 10 E0 B6 01 2A 06 08 02 10 B4 FA 52 2A 04 08 0C 10 24 30 D6 86 03 12 06 08 04 10 BC BF 03 12 05 08 0B 10 BA 16 12 05 08 20 10 A9 01 12 05 08 24 10 E1 14 12 05 08 2C 10 94 03 12 05 08 30 10 A0 01 12 05 08 07 10 F9 21 12 05 08 1B10 A2 0F 12 05 08 09 10 93 11 12 05 08 23 10 F7 1B 12 05 08 25 10 ED 17 12 05 08 10 10 F8 17 12 05 08 2E 10 E8 02 12 05 08 26 10 90 17 12 05 08 0D 10 D2 17 12 05 08 1C 10 C9 03 12 05 08 0C 10 FB 1B 12 08 08 01 10 B5 CE C3 C4 06 12 05 08 0810 D9 0F 12 04 08 27 10 12 12 05 08 1A 10 C2 01 12 05 08 05 10 9B 0D 12 05 08 0E 10 C2 17 12 05 08 17 10 A0 06 12 05 08 0A 10 D1 0E 12 04 08 2B 10 66 12 05 08 19 10 C2 08 12 05 08 06 10 CD 1F 12 05 08 1F 10 D6 02 12 05 08 18 10 F3 01 12 0508 2D 10 BE 02 12 05 08 0F 10 D7 19 12 05 08 15 10 FC 03 12 05 08 31 10 A0 01 12 07 08 03 10 BE D5 A0 66 12 04 08 29 10 11 12 05 08 16 10 B3 05 12 08 08 02 10 FC FB CC EB 31 18 8D F4 C9 A2 18
*/
func ParaTalentInfo(dataBytes []byte) D.TalentInfo {
	info := D.TalentInfo{
		DealFlag: true,
	}
	allLen := len(dataBytes)
	if allLen < 3 || dataBytes[0] != 0x08 || dataBytes[1] != 0x00 {
		return info
	}
	data := BytesToHexStr(dataBytes)
	// 定义正则表达式                       1部位             2等级                3品级
	re := regexp.MustCompile(`10([0-9A-F]{2}4[0-9A-F])18([0-9A-F]{2,4})20([0-9A-F]{2})2A`)
	indices := re.FindAllStringIndex(data, -1)
	regRes := re.FindAllStringSubmatch(data, -1)
	if len(regRes) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	//log.Infof("indices len : %d %+v", len(indices), indices)
	// 打印结果
	if len(regRes) > 0 && len(regRes[0]) > 3 {
		dataLen := 0
		partByte, _ := HexStrToBytes(regRes[0][1])
		info.Part = partByte
		info.Level = ParaIntDataByHexStr(regRes[0][2])
		info.Grade = byte(ParaIntDataByHexStr(regRes[0][3]))
		info.Data2A = make(map[int]D.EquipmentData, 0)
		info.Data12 = make(map[int]D.EquipmentData, 0)
		for idx := int(indices[0][1]/2) - 1; idx < allLen; {
			if dataBytes[idx] == 0x2A && dataBytes[idx+1]>>4 < 2 && dataBytes[idx+2] == 0x08 && dataBytes[idx+4] == 0x12 {
				dataLen = int(dataBytes[idx+1])
				//log.Debugf("%s", HexToHexStr(dataBytes[idx:idx+2+dataLen]))
				info.Data2A[int(dataBytes[idx+3])] = D.EquipmentData{
					Data:   dataBytes[idx+6 : idx+dataLen+2],
					Litter: HexBytesToInt(dataBytes[idx+6 : idx+dataLen+2]),
				}
				idx += dataLen + 2
			} else if dataBytes[idx] == 0x30 && dataBytes[idx+1] > 0 && dataBytes[idx+2] == 0x86 && dataBytes[idx+3] == 0x03 {
				info.Val = int(ParaIntData(dataBytes[idx+1 : idx+4]))
				idx += 4
			} else if dataBytes[idx] == 0x30 && dataBytes[idx+1] == 0 {
				idx += 2
			} else if dataBytes[idx] == 0x12 && dataBytes[idx+1]>>4 < 2 && dataBytes[idx+2] == 0x08 {
				dataLen = int(dataBytes[idx+1])
				//log.Debugf("%s", HexToHexStr(dataBytes[idx:idx+2+dataLen]))
				info.Data12[int(dataBytes[idx+3])] = D.EquipmentData{
					Data:   dataBytes[idx+6 : idx+dataLen+2],
					Litter: HexBytesToInt(dataBytes[idx+6 : idx+dataLen+2]),
				}
				idx += dataLen + 2
			} else if dataBytes[idx] == 0x1A && dataBytes[idx+2]>>4 == 3 {
				dataLen = int(dataBytes[idx+1])
				info.CombatValue = HexBytesToInt(dataBytes[idx+2 : idx+2+dataLen])
				break
			} else {
				log.Errorf("未匹配的数据%s", HexToHexStr(dataBytes[idx:]))
				break
			}
		}
		//log.Debugf("%d-%s", dataLen, regRes[0][1:])

		//log.Debugf("%s", HexToHexStr(dataBytes[startIdx:startIdx+dataLen]))

		log.Infof("%s", GetTalentInfoDesc(info))
	}
	return info
}

/*
当前装备信息
71 AB 00 00 01 19 00 00 02 6F 00 00 02 D4 08 94 30 6F 08 00 12 09 31 30 30 30 33 38 3D 32 32 1A F7 01 0A 12 08 01 10 924E 18 03 20 02 2A 05 08 01 10 C4 01 30 00 0A 11 08 02 10 9C 4E 18 03 20 02 2A 04 08 07 10 50 30 00 0A 14 08 03 10 A5 4E 18 05 20 01 2A 05 08 02 10 E1 0A 30 D5 86 03 0A 11 08 04 10 B0 4E 18 04 20 02 2A 04 08 05 10 51 30 00 0A 14 08 05 10 BB4E 18 04 20 03 2A 05 08 02 10 94 0B 30 D5 86 03 0A 11 08 06 10 C5 4E 18 03 20 03 2A 04 08 09 10 55 30 00 0A 12 08 07 10 CF 4E 18 03 20 03 2A 05 08 01 10 D1 01 30 00 0A 11 08 08 10 D9 4E 18 04 20 03 2A 04 08 06 10 57 30 00 0A 13 08 09 10 E14E 18 03 20 01 2A 04 08 03 10 1D 30 D5 86 03 0A 11 08 0A 10 EC 4E 18 03 20 02 2A 04 08 08 10 4E 30 00 0A 13 08 0B 10 F7 4E 18 04 20 03 2A 04 08 03 10 23 30 D5 86 03 0A 11 08 0C 10 80 4F 18 04 20 02 2A 04 08 0A 10 52 30 00 10 04 18 18 28 DE02

71 AB 00 00 01 19 00 00 02 6F 00 00 02 D4 08 94 30 6F
08 00 12 09 31 30 30 30 33 38 3D 32 32
1A F7 01 0A 12 08 01 10 92 4E 18 03 20 02 2A 05 08 01 10 C4 01 30 00 0A 11 08 02 10 9C 4E 18 03 20 02 2A 04 08 07 10 50 30 00 0A 14 08 03 10 A5 4E 18 05 20 01 2A 05 08 02 10 E1 0A 30 D5 86 03 0A 11 08 04 10 B0 4E 18 04 20 02 2A 04 08 05 10 51 30 00 0A 14 08 05 10 BB4E 18 04 20 03 2A 05 08 02 10 94 0B 30 D5 86 03 0A 11 08 06 10 C5 4E 18 03 20 03 2A 04 08 09 10 55 30 00 0A 12 08 07 10 CF 4E 18 03 20 03 2A 05 08 01 10 D1 01 30 00 0A 11 08 08 10 D9 4E 18 04 20 03 2A 04 08 06 10 57 30 00 0A 13 08 09 10 E14E 18 03 20 01 2A 04 08 03 10 1D 30 D5 86 03 0A 11 08 0A 10 EC 4E 18 03 20 02 2A 04 08 08 10 4E 30 00 0A 13 08 0B 10 F7 4E 18 04 20 03 2A 04 08 03 10 23 30 D5 86 03 0A 11 08 0C 10 80 4F 18 04 20 02 2A 04 08 0A 10 52 30 00 10 04 18 18 28 DE02
*/
func ParaCurrentTalentInfo(dataBytes []byte) D.CurrentTalentInfo {
	allInfo := D.CurrentTalentInfo{}
	data := BytesToHexStr(dataBytes)
	// 定义正则表达式									1 灵脉部位序号  2 灵脉部位      3 等级           4 品级         5 灵脉属性        6 类型
	re := regexp.MustCompile(`0A[0-9A-F]{2}08([0-9A-F]{2})10([0-9A-F]{4})18([0-9A-F]{2})20([0-9A-F]{2})((?:[0-9A-F]{2})+?)30(00|[0-9A-F]{2}8603)`)
	res := re.FindAllStringSubmatch(data, -1)
	if len(res) == 0 {
		log.Errorf("解析数据失败-%s", data)
	}
	for _, regRes := range res {
		if len(regRes) > 1 {
			partIdx := OneByteHexStrToByte(regRes[1]) - 1
			part, _ := HexStrToBytes(regRes[2])
			info := D.TalentInfo{
				Part:   part,                                //灵脉部位
				Level:  ParaIntDataByHexStr(regRes[3]),      //灵脉等级
				Grade:  OneByteHexStrToByte(regRes[4]),      //灵脉品级
				Val:    int(ParaIntDataByHexStr(regRes[6])), //灵脉类型
				Data2A: make(map[int]D.EquipmentData),
			}
			//解析灵脉属性
			attrB, _ := HexStrToBytes(regRes[5])
			//log.Debugf("%s", HexToHexStr(attrB))
			for idx := 0; idx < len(attrB); {
				if attrB[idx] == 0x2A && attrB[idx+1]>>4 < 2 && attrB[idx+2] == 0x08 && attrB[idx+4] == 0x12 {
					dataLen := int(attrB[idx+1])
					//log.Debugf("%s", HexToHexStr(dataBytes[idx:idx+2+dataLen]))
					info.Data2A[int(attrB[idx+3])] = D.EquipmentData{
						Data:   attrB[idx+6 : idx+dataLen+2],
						Litter: HexBytesToInt(attrB[idx+6 : idx+dataLen+2]),
					}
					idx += dataLen + 2
				} else {
					idx++
				}
			}
			allInfo.Talent[partIdx] = info
			log.Debugf("%s", GetTalentInfoDesc(info))
		}
	}
	return allInfo
}
